/ Mac Power 1997 January
/ macpower199701.bin / AMUG / Publishing_19 / Alpha 6.5.sit / Tcl / Menus / ftpMenu.tcl ![]() | < prev | next > |
MacBinary | 1996-08-18 | 8.4 KB | [TEXT/ALFA] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, Sun Aug 18 12:45:33 1996, modified Sun Aug 18 12:45:33 1996, creator Alpha editor, type ASCII, 7968 bytes "ftpMenu.tcl" , at 0x1fa0 382 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [ALFA] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 66 74 70 4d 65 6e | 75 2e 74 63 6c 00 00 00 |..ftpMen|u.tcl...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 00 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 1f 20 00 | 00 01 7e ae 3c f9 2d ae |...... .|..~.<.-.|
|00000060| 3c f9 2d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |<.-.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 1e 02 00 00 |........|........|
|00000080| 0d 69 66 20 24 73 74 61 | 72 74 69 6e 67 55 70 20 |.if $sta|rtingUp |
|00000090| 7b 0d 09 73 65 74 20 66 | 74 70 4d 65 6e 75 09 09 |{..set f|tpMenu..|
|000000a0| 09 22 a5 31 34 31 22 0d | 09 61 64 64 4d 65 6e 75 |.".141".|.addMenu|
|000000b0| 20 66 74 70 4d 65 6e 75 | 0d 09 72 65 74 75 72 6e | ftpMenu|..return|
|000000c0| 0d 7d 0d 0d 0d 0d 70 72 | 6f 63 20 66 74 70 4d 65 |.}....pr|oc ftpMe|
|000000d0| 6e 75 20 7b 7d 20 7b 7d | 0d 0d 0d 69 66 20 7b 21 |nu {} {}|...if {!|
|000000e0| 5b 69 6e 66 6f 20 65 78 | 69 73 74 73 20 73 61 76 |[info ex|ists sav|
|000000f0| 65 50 6f 73 74 48 6f 6f | 6b 73 5d 20 7c 7c 20 21 |ePostHoo|ks] || !|
|00000100| 5b 73 74 72 69 6e 67 20 | 6d 61 74 63 68 20 7b 2a |[string |match {*|
|00000110| 66 74 70 50 6f 73 74 48 | 6f 6f 6b 2a 7d 20 24 73 |ftpPostH|ook*} $s|
|00000120| 61 76 65 50 6f 73 74 48 | 6f 6f 6b 73 5d 7d 20 7b |avePostH|ooks]} {|
|00000130| 0d 09 6c 61 70 70 65 6e | 64 20 73 61 76 65 50 6f |..lappen|d savePo|
|00000140| 73 74 48 6f 6f 6b 73 20 | 66 74 70 50 6f 73 74 48 |stHooks |ftpPostH|
|00000150| 6f 6f 6b 0d 7d 0d 0d 0d | 70 72 6f 63 20 66 74 70 |ook.}...|proc ftp|
|00000160| 50 6f 73 74 48 6f 6f 6b | 20 7b 6e 61 6d 65 7d 20 |PostHook| {name} |
|00000170| 7b 0d 09 67 6c 6f 62 61 | 6c 20 66 65 74 63 68 65 |{..globa|l fetche|
|00000180| 64 0d 09 69 66 20 7b 5b | 69 6e 66 6f 20 65 78 69 |d..if {[|info exi|
|00000190| 73 74 73 20 66 65 74 63 | 68 65 64 28 24 6e 61 6d |sts fetc|hed($nam|
|000001a0| 65 29 5d 7d 20 7b 0d 09 | 09 6d 65 73 73 61 67 65 |e)]} {..|.message|
|000001b0| 20 22 55 70 64 61 74 69 | 6e 67 20 27 5b 66 69 6c | "Updati|ng '[fil|
|000001c0| 65 20 74 61 69 6c 20 24 | 6e 61 6d 65 5d 27 c9 22 |e tail $|name]'."|
|000001d0| 0d 09 09 73 65 74 20 73 | 70 65 63 73 20 24 66 65 |...set s|pecs $fe|
|000001e0| 74 63 68 65 64 28 24 6e | 61 6d 65 29 0d 09 09 69 |tched($n|ame)...i|
|000001f0| 66 20 7b 5b 73 74 72 69 | 6e 67 20 6c 65 6e 67 74 |f {[stri|ng lengt|
|00000200| 68 20 5b 63 61 64 72 20 | 24 73 70 65 63 73 5d 5d |h [cadr |$specs]]|
|00000210| 7d 20 7b 0d 09 09 09 66 | 74 70 53 74 6f 72 65 20 |} {....f|tpStore |
|00000220| 24 6e 61 6d 65 20 5b 63 | 61 72 20 24 73 70 65 63 |$name [c|ar $spec|
|00000230| 73 5d 20 22 5b 63 61 64 | 72 20 24 73 70 65 63 73 |s] "[cad|r $specs|
|00000240| 5d 2f 5b 66 69 6c 65 20 | 74 61 69 6c 20 24 6e 61 |]/[file |tail $na|
|00000250| 6d 65 5d 22 20 5b 63 61 | 64 64 72 20 24 73 70 65 |me]" [ca|ddr $spe|
|00000260| 63 73 5d 20 5b 63 61 64 | 64 64 72 20 24 73 70 65 |cs] [cad|ddr $spe|
|00000270| 63 73 5d 0d 09 09 7d 20 | 65 6c 73 65 20 7b 0d 09 |cs]...} |else {..|
|00000280| 09 09 66 74 70 53 74 6f | 72 65 20 24 6e 61 6d 65 |..ftpSto|re $name|
|00000290| 20 5b 63 61 72 20 24 73 | 70 65 63 73 5d 20 22 5b | [car $s|pecs] "[|
|000002a0| 66 69 6c 65 20 74 61 69 | 6c 20 24 6e 61 6d 65 5d |file tai|l $name]|
|000002b0| 22 20 5b 63 61 64 64 72 | 20 24 73 70 65 63 73 5d |" [caddr| $specs]|
|000002c0| 20 5b 63 61 64 64 64 72 | 20 24 73 70 65 63 73 5d | [cadddr| $specs]|
|000002d0| 0d 09 09 7d 0d 09 7d 0d | 7d 0d 0d 0d 23 20 09 09 |...}..}.|}...# ..|
|000002e0| 63 72 65 61 74 65 46 69 | 6c 65 53 65 74 0d 70 72 |createFi|leSet.pr|
|000002f0| 6f 63 20 72 65 62 75 69 | 6c 64 46 74 70 4d 65 6e |oc rebui|ldFtpMen|
|00000300| 75 20 7b 7d 20 7b 0d 09 | 67 6c 6f 62 61 6c 20 73 |u {} {..|global s|
|00000310| 61 76 65 64 4d 6f 75 6e | 74 73 20 66 74 70 4d 65 |avedMoun|ts ftpMe|
|00000320| 6e 75 0d 09 0d 09 6d 65 | 6e 75 20 2d 6e 20 24 66 |nu....me|nu -n $f|
|00000330| 74 70 4d 65 6e 75 20 2d | 70 20 66 74 70 4d 65 6e |tpMenu -|p ftpMen|
|00000340| 75 50 72 6f 63 20 7b 0d | 09 09 68 65 6c 70 0d 09 |uProc {.|..help..|
|00000350| 09 70 61 6c 65 74 74 65 | 0d 09 09 22 28 2d 22 0d |.palette|..."(-".|
|00000360| 09 09 22 3c 53 2f 69 62 | 72 6f 77 73 65 c9 22 0d |.."<S/ib|rowse.".|
|00000370| 09 09 22 3c 53 2f 69 3c | 49 62 72 6f 77 73 65 43 |.."<S/i<|IbrowseC|
|00000380| 75 72 72 65 6e 74 c9 22 | 0d 09 09 61 64 64 4d 6f |urrent."|...addMo|
|00000390| 75 6e 74 50 6f 69 6e 74 | c9 0d 09 09 72 65 6d 6f |untPoint|....remo|
|000003a0| 76 65 4d 6f 75 6e 74 50 | 6f 69 6e 74 c9 0d 09 09 |veMountP|oint....|
|000003b0| 66 6c 75 73 68 43 61 63 | 68 65 0d 09 09 22 28 2d |flushCac|he..."(-|
|000003c0| 22 0d 09 09 22 63 72 65 | 61 74 65 46 69 6c 65 73 |"..."cre|ateFiles|
|000003d0| 65 74 22 0d 09 09 73 65 | 74 44 65 66 61 75 6c 74 |et"...se|tDefault|
|000003e0| 73 0d 09 09 22 28 2d 22 | 0d 09 7d 0d 09 69 66 20 |s..."(-"|..}..if |
|000003f0| 7b 5b 69 6e 66 6f 20 65 | 78 69 73 74 73 20 73 61 |{[info e|xists sa|
|00000400| 76 65 64 4d 6f 75 6e 74 | 73 5d 7d 20 7b 0d 09 09 |vedMount|s]} {...|
|00000410| 66 6f 72 65 61 63 68 20 | 6d 20 5b 6c 73 6f 72 74 |foreach |m [lsort|
|00000420| 20 2d 69 67 6e 6f 72 65 | 20 5b 61 72 72 61 79 20 | -ignore| [array |
|00000430| 6e 61 6d 65 73 20 73 61 | 76 65 64 4d 6f 75 6e 74 |names sa|vedMount|
|00000440| 73 5d 5d 20 7b 0d 09 09 | 09 61 64 64 4d 65 6e 75 |s]] {...|.addMenu|
|00000450| 49 74 65 6d 20 2d 6d 20 | 2d 6c 20 22 62 20 22 20 |Item -m |-l "b " |
|00000460| 24 66 74 70 4d 65 6e 75 | 20 24 6d 0d 09 09 7d 0d |$ftpMenu| $m...}.|
|00000470| 09 7d 0d 7d 0d 0d 72 65 | 62 75 69 6c 64 46 74 70 |.}.}..re|buildFtp|
|00000480| 4d 65 6e 75 0d 0d 69 6e | 73 65 72 74 4d 65 6e 75 |Menu..in|sertMenu|
|00000490| 20 24 66 74 70 4d 65 6e | 75 0d 0d 70 72 6f 63 20 | $ftpMen|u..proc |
|000004a0| 66 74 70 4d 65 6e 75 50 | 72 6f 63 20 7b 6d 65 6e |ftpMenuP|roc {men|
|000004b0| 75 20 69 74 65 6d 7d 20 | 7b 0d 09 67 6c 6f 62 61 |u item} |{..globa|
|000004c0| 6c 20 6d 6f 64 69 66 69 | 65 64 41 72 72 56 61 72 |l modifi|edArrVar|
|000004d0| 73 20 73 61 76 65 64 4d | 6f 75 6e 74 73 20 50 52 |s savedM|ounts PR|
|000004e0| 45 46 53 20 66 65 74 63 | 68 65 64 20 48 4f 4d 45 |EFS fetc|hed HOME|
|000004f0| 20 66 74 70 4d 65 6e 75 | 0d 09 73 77 69 74 63 68 | ftpMenu|..switch|
|00000500| 20 24 69 74 65 6d 20 7b | 0d 09 09 68 65 6c 70 09 | $item {|...help.|
|00000510| 09 09 09 7b 65 64 69 74 | 4d 61 72 6b 20 22 24 48 |...{edit|Mark "$H|
|00000520| 4f 4d 45 3a 48 65 6c 70 | 3a 4d 61 6e 75 61 6c 22 |OME:Help|:Manual"|
|00000530| 20 22 46 74 70 20 42 72 | 6f 77 73 65 72 22 20 2d | "Ftp Br|owser" -|
|00000540| 72 7d 0d 09 09 70 61 6c | 65 74 74 65 09 09 09 09 |r}...pal|ette....|
|00000550| 7b 66 6c 6f 61 74 20 2d | 6d 20 24 66 74 70 4d 65 |{float -|m $ftpMe|
|00000560| 6e 75 20 2d 6e 20 46 54 | 50 20 2d 4d 20 2d 31 7d |nu -n FT|P -M -1}|
|00000570| 0d 09 09 62 72 6f 77 73 | 65 09 09 09 09 7b 65 76 |...brows|e....{ev|
|00000580| 61 6c 20 66 74 70 42 72 | 6f 77 73 65 20 5b 6c 72 |al ftpBr|owse [lr|
|00000590| 61 6e 67 65 20 5b 67 65 | 74 4c 6f 67 69 6e 20 7b |ange [ge|tLogin {|
|000005a0| 42 72 6f 77 73 65 20 72 | 65 6d 6f 74 65 20 6d 61 |Browse r|emote ma|
|000005b0| 63 68 69 6e 65 3a 7d 20 | 30 5d 20 30 20 33 5d 7d |chine:} |0] 0 3]}|
|000005c0| 0d 09 09 62 72 6f 77 73 | 65 43 75 72 72 65 6e 74 |...brows|eCurrent|
|000005d0| 09 09 7b 20 69 66 20 7b | 5b 69 6e 66 6f 20 65 78 |..{ if {|[info ex|
|000005e0| 69 73 74 73 20 66 65 74 | 63 68 65 64 28 5b 63 61 |ists fet|ched([ca|
|000005f0| 72 20 5b 77 69 6e 4e 61 | 6d 65 73 20 2d 66 5d 5d |r [winNa|mes -f]]|
|00000600| 29 5d 7d 20 7b 0d 09 09 | 09 09 09 09 09 09 65 76 |)]} {...|......ev|
|00000610| 61 6c 20 66 74 70 42 72 | 6f 77 73 65 20 24 66 65 |al ftpBr|owse $fe|
|00000620| 74 63 68 65 64 28 5b 63 | 61 72 20 5b 77 69 6e 4e |tched([c|ar [winN|
|00000630| 61 6d 65 73 20 2d 66 5d | 5d 29 20 0d 09 09 09 09 |ames -f]|]) .....|
|00000640| 09 09 09 7d 20 65 6c 73 | 65 20 7b 0d 09 09 09 09 |...} els|e {.....|
|00000650| 09 09 09 09 62 65 65 70 | 3b 20 6d 65 73 73 61 67 |....beep|; messag|
|00000660| 65 20 22 27 5b 63 61 72 | 20 5b 77 69 6e 4e 61 6d |e "'[car| [winNam|
|00000670| 65 73 5d 5d 27 20 6e 6f | 74 20 66 72 6f 6d 20 72 |es]]' no|t from r|
|00000680| 65 6d 6f 74 65 20 68 6f | 73 74 2e 22 0d 09 09 09 |emote ho|st."....|
|00000690| 09 09 09 09 7d 7d 0d 09 | 09 61 64 64 4d 6f 75 6e |....}}..|.addMoun|
|000006a0| 74 50 6f 69 6e 74 09 09 | 7b 20 61 64 64 4d 6f 75 |tPoint..|{ addMou|
|000006b0| 6e 74 50 6f 69 6e 74 20 | 7d 0d 09 09 63 72 65 61 |ntPoint |}...crea|
|000006c0| 74 65 46 69 6c 65 73 65 | 74 09 09 7b 20 66 74 70 |teFilese|t..{ ftp|
|000006d0| 43 72 65 61 74 65 46 69 | 6c 65 73 65 74 20 7d 0d |CreateFi|leset }.|
|000006e0| 09 09 72 65 6d 6f 76 65 | 4d 6f 75 6e 74 50 6f 69 |..remove|MountPoi|
|000006f0| 6e 74 09 7b 0d 09 09 09 | 73 65 74 20 70 74 20 5b |nt.{....|set pt [|
|00000700| 6c 69 73 74 70 69 63 6b | 20 2d 70 20 22 52 65 6d |listpick| -p "Rem|
|00000710| 6f 76 65 20 77 68 69 63 | 68 20 6d 6f 75 6e 74 20 |ove whic|h mount |
|00000720| 70 6f 69 6e 74 3f 22 20 | 5b 6c 73 6f 72 74 20 2d |point?" |[lsort -|
|00000730| 69 67 6e 6f 72 65 20 5b | 61 72 72 61 79 20 6e 61 |ignore [|array na|
|00000740| 6d 65 73 20 73 61 76 65 | 64 4d 6f 75 6e 74 73 5d |mes save|dMounts]|
|00000750| 5d 5d 0d 09 09 09 75 6e | 73 65 74 20 73 61 76 65 |]]....un|set save|
|00000760| 64 4d 6f 75 6e 74 73 28 | 24 70 74 29 0d 09 09 09 |dMounts(|$pt)....|
|00000770| 72 65 6d 6f 76 65 41 72 | 72 44 65 66 20 73 61 76 |removeAr|rDef sav|
|00000780| 65 64 4d 6f 75 6e 74 73 | 20 24 70 74 0d 09 09 09 |edMounts| $pt....|
|00000790| 72 65 62 75 69 6c 64 46 | 74 70 4d 65 6e 75 0d 09 |rebuildF|tpMenu..|
|000007a0| 09 7d 0d 09 09 73 65 74 | 44 65 66 61 75 6c 74 73 |.}...set|Defaults|
|000007b0| 09 09 09 7b 20 0d 09 09 | 09 67 6c 6f 62 61 6c 20 |...{ ...|.global |
|000007c0| 66 74 70 44 65 66 61 75 | 6c 74 73 20 6d 6f 64 69 |ftpDefau|lts modi|
|000007d0| 66 69 65 64 56 61 72 73 | 0d 09 09 09 73 65 74 20 |fiedVars|....set |
|000007e0| 66 74 70 44 65 66 61 75 | 6c 74 73 20 5b 6c 72 61 |ftpDefau|lts [lra|
|000007f0| 6e 67 65 20 5b 67 65 74 | 4c 6f 67 69 6e 20 22 45 |nge [get|Login "E|
|00000800| 6e 74 65 72 20 64 65 66 | 61 75 6c 74 73 20 74 68 |nter def|aults th|
|00000810| 61 74 20 79 6f 75 20 77 | 69 73 68 20 73 61 76 65 |at you w|ish save|
|00000820| 64 3a 22 20 30 5d 20 30 | 20 33 5d 0d 09 09 09 6c |d:" 0] 0| 3]....l|
|00000830| 61 70 70 65 6e 64 20 6d | 6f 64 69 66 69 65 64 56 |append m|odifiedV|
|00000840| 61 72 73 20 66 74 70 44 | 65 66 61 75 6c 74 73 0d |ars ftpD|efaults.|
|00000850| 09 09 7d 0d 09 09 66 6c | 75 73 68 43 61 63 68 65 |..}...fl|ushCache|
|00000860| 09 09 7b 20 72 6d 20 22 | 24 50 52 45 46 53 3a 66 |..{ rm "|$PREFS:f|
|00000870| 74 70 74 6d 70 3a 2a 22 | 20 7d 0d 09 09 64 65 66 |tptmp:*"| }...def|
|00000880| 61 75 6c 74 20 7b 0d 09 | 09 09 65 76 61 6c 20 66 |ault {..|..eval f|
|00000890| 74 70 42 72 6f 77 73 65 | 20 24 73 61 76 65 64 4d |tpBrowse| $savedM|
|000008a0| 6f 75 6e 74 73 28 24 69 | 74 65 6d 29 0d 09 09 7d |ounts($i|tem)...}|
|000008b0| 0d 09 7d 0d 7d 0d 0d 0d | 70 72 6f 63 20 66 74 70 |..}.}...|proc ftp|
|000008c0| 46 69 6c 65 73 65 74 4f | 70 65 6e 20 7b 6d 65 6e |FilesetO|pen {men|
|000008d0| 75 20 69 74 65 6d 7d 20 | 7b 0d 09 67 6c 6f 62 61 |u item} |{..globa|
|000008e0| 6c 20 67 66 69 6c 65 53 | 65 74 73 20 50 52 45 46 |l gfileS|ets PREF|
|000008f0| 53 20 66 65 74 63 68 65 | 64 20 66 69 6c 65 53 65 |S fetche|d fileSe|
|00000900| 74 73 45 78 74 72 61 0d | 09 0d 09 69 66 20 7b 5b |tsExtra.|...if {[|
|00000910| 73 65 74 20 69 6e 64 20 | 5b 6c 73 65 61 72 63 68 |set ind |[lsearch|
|00000920| 20 24 67 66 69 6c 65 53 | 65 74 73 28 24 6d 65 6e | $gfileS|ets($men|
|00000930| 75 29 20 22 2a 24 69 74 | 65 6d 22 5d 5d 20 3e 3d |u) "*$it|em"]] >=|
|00000940| 20 30 7d 20 7b 0d 09 09 | 73 65 74 20 66 20 5b 6c | 0} {...|set f [l|
|00000950| 69 6e 64 65 78 20 24 67 | 66 69 6c 65 53 65 74 73 |index $g|fileSets|
|00000960| 28 24 6d 65 6e 75 29 20 | 24 69 6e 64 5d 0d 09 09 |($menu) |$ind]...|
|00000970| 73 65 74 20 6c 6e 6d 20 | 5b 66 69 6c 65 20 74 61 |set lnm |[file ta|
|00000980| 69 6c 20 24 66 5d 0d 09 | 09 72 65 67 73 75 62 20 |il $f]..|.regsub |
|00000990| 2d 61 6c 6c 20 7b 3a 7d | 20 24 66 20 7b 2f 7d 20 |-all {:}| $f {/} |
|000009a0| 66 0d 09 09 73 65 74 20 | 6e 6d 20 22 24 50 52 45 |f...set |nm "$PRE|
|000009b0| 46 53 3a 66 74 70 74 6d | 70 3a 24 6c 6e 6d 22 0d |FS:ftptm|p:$lnm".|
|000009c0| 09 09 73 65 74 20 73 70 | 65 63 73 20 24 66 69 6c |..set sp|ecs $fil|
|000009d0| 65 53 65 74 73 45 78 74 | 72 61 28 24 6d 65 6e 75 |eSetsExt|ra($menu|
|000009e0| 29 0d 09 09 69 66 20 7b | 21 5b 66 69 6c 65 20 65 |)...if {|![file e|
|000009f0| 78 69 73 74 73 20 24 6e | 6d 5d 7d 20 7b 0d 09 09 |xists $n|m]} {...|
|00000a00| 09 66 74 70 46 65 74 63 | 68 20 24 6e 6d 20 5b 63 |.ftpFetc|h $nm [c|
|00000a10| 61 72 20 24 73 70 65 63 | 73 5d 20 24 66 20 5b 63 |ar $spec|s] $f [c|
|00000a20| 61 64 64 72 20 24 73 70 | 65 63 73 5d 20 5b 63 61 |addr $sp|ecs] [ca|
|00000a30| 64 64 64 72 20 24 73 70 | 65 63 73 5d 0d 09 09 7d |dddr $sp|ecs]...}|
|00000a40| 0d 09 09 65 64 69 74 20 | 24 6e 6d 0d 09 09 73 65 |...edit |$nm...se|
|00000a50| 74 20 66 65 74 63 68 65 | 64 28 24 6e 6d 29 20 24 |t fetche|d($nm) $|
|00000a60| 73 70 65 63 73 0d 09 7d | 0d 7d 0d 0d 0d 70 72 6f |specs..}|.}...pro|
|00000a70| 63 20 66 74 70 43 72 65 | 61 74 65 46 69 6c 65 73 |c ftpCre|ateFiles|
|00000a80| 65 74 20 7b 7d 20 7b 0d | 09 67 6c 6f 62 61 6c 20 |et {} {.|.global |
|00000a90| 67 66 69 6c 65 53 65 74 | 73 20 67 66 69 6c 65 53 |gfileSet|s gfileS|
|00000aa0| 65 74 73 54 79 70 65 20 | 50 52 45 46 53 20 66 69 |etsType |PREFS fi|
|00000ab0| 6c 65 53 65 74 73 45 78 | 74 72 61 0d 09 0d 09 73 |leSetsEx|tra....s|
|00000ac0| 65 74 20 73 70 65 63 73 | 20 5b 67 65 74 4c 6f 67 |et specs| [getLog|
|00000ad0| 69 6e 5d 0d 09 73 65 74 | 20 6e 61 6d 65 20 5b 63 |in]..set| name [c|
|00000ae0| 61 72 20 24 73 70 65 63 | 73 5d 0d 09 73 65 74 20 |ar $spec|s]..set |
|00000af0| 68 6f 73 74 20 5b 63 61 | 64 72 20 24 73 70 65 63 |host [ca|dr $spec|
|00000b00| 73 5d 0d 09 73 65 74 20 | 70 61 74 68 20 5b 63 61 |s]..set |path [ca|
|00000b10| 64 64 72 20 24 73 70 65 | 63 73 5d 0d 09 73 65 74 |ddr $spe|cs]..set|
|00000b20| 20 75 73 65 72 20 5b 63 | 61 64 64 64 72 20 24 73 | user [c|adddr $s|
|00000b30| 70 65 63 73 5d 0d 09 73 | 65 74 20 70 61 73 73 77 |pecs]..s|et passw|
|00000b40| 6f 72 64 20 5b 63 61 64 | 64 64 64 72 20 24 73 70 |ord [cad|dddr $sp|
|00000b50| 65 63 73 5d 0d 09 73 65 | 74 20 70 61 74 74 65 72 |ecs]..se|t patter|
|00000b60| 6e 20 22 5e 5b 70 72 6f | 6d 70 74 20 7b 4e 61 6d |n "^[pro|mpt {Nam|
|00000b70| 65 20 70 61 74 74 65 72 | 6e 3f 7d 20 7b 2e 2a 2e |e patter|n?} {.*.|
|00000b80| 5b 63 68 5d 7d 5d 24 22 | 0d 09 73 65 74 20 70 61 |[ch]}]$"|..set pa|
|00000b90| 74 68 20 5b 73 74 72 69 | 6e 67 20 74 72 69 6d 72 |th [stri|ng trimr|
|00000ba0| 69 67 68 74 20 24 70 61 | 74 68 20 7b 2f 7d 5d 0d |ight $pa|th {/}].|
|00000bb0| 0d 09 73 65 74 20 66 69 | 6c 65 53 65 74 73 45 78 |..set fi|leSetsEx|
|00000bc0| 74 72 61 28 24 6e 61 6d | 65 29 20 5b 6c 69 73 74 |tra($nam|e) [list|
|00000bd0| 20 24 68 6f 73 74 20 24 | 70 61 74 68 20 24 75 73 | $host $|path $us|
|00000be0| 65 72 20 24 70 61 73 73 | 77 6f 72 64 5d 0d 09 0d |er $pass|word]...|
|00000bf0| 09 69 66 20 7b 20 21 5b | 66 69 6c 65 20 65 78 69 |.if { ![|file exi|
|00000c00| 73 74 73 20 22 24 50 52 | 45 46 53 3a 66 74 70 74 |sts "$PR|EFS:ftpt|
|00000c10| 6d 70 3a 22 5d 20 7d 20 | 7b 0d 09 09 6d 6b 64 69 |mp:"] } |{...mkdi|
|00000c20| 72 20 22 24 50 52 45 46 | 53 3a 66 74 70 74 6d 70 |r "$PREF|S:ftptmp|
|00000c30| 3a 22 0d 09 7d 0d 09 73 | 65 74 20 6e 6d 20 22 24 |:"..}..s|et nm "$|
|00000c40| 50 52 45 46 53 3a 66 74 | 70 74 6d 70 3a 6c 69 73 |PREFS:ft|ptmp:lis|
|00000c50| 74 69 6e 67 2e 24 70 61 | 74 68 22 0d 09 66 74 70 |ting.$pa|th"..ftp|
|00000c60| 4c 69 73 74 20 24 6e 6d | 20 24 68 6f 73 74 20 24 |List $nm| $host $|
|00000c70| 70 61 74 68 20 24 75 73 | 65 72 20 24 70 61 73 73 |path $us|er $pass|
|00000c80| 77 6f 72 64 0d 09 73 65 | 74 20 66 69 6c 65 73 20 |word..se|t files |
|00000c90| 7b 7d 0d 09 66 6f 72 65 | 61 63 68 20 66 20 5b 70 |{}..fore|ach f [p|
|00000ca0| 72 6f 63 65 73 73 4c 69 | 73 74 69 6e 67 20 24 6e |rocessLi|sting $n|
|00000cb0| 6d 5d 20 7b 0d 09 09 69 | 66 20 7b 21 5b 73 74 72 |m] {...i|f {![str|
|00000cc0| 69 6e 67 20 6d 61 74 63 | 68 20 7b 2a 2f 7d 20 24 |ing matc|h {*/} $|
|00000cd0| 66 5d 20 26 26 20 5b 72 | 65 67 65 78 70 20 24 70 |f] && [r|egexp $p|
|00000ce0| 61 74 74 65 72 6e 20 24 | 66 5d 7d 20 7b 0d 09 09 |attern $|f]} {...|
|00000cf0| 09 6c 61 70 70 65 6e 64 | 20 66 69 6c 65 73 20 22 |.lappend| files "|
|00000d00| 24 70 61 74 68 2f 24 66 | 22 0d 09 09 7d 0d 09 7d |$path/$f|"...}..}|
|00000d10| 0d 09 72 65 67 73 75 62 | 20 2d 61 6c 6c 20 7b 2f |..regsub| -all {/|
|00000d20| 7d 20 24 66 69 6c 65 73 | 20 7b 3a 7d 20 66 69 6c |} $files| {:} fil|
|00000d30| 65 73 0d 0d 09 67 6c 6f | 62 61 6c 20 67 66 69 6c |es...glo|bal gfil|
|00000d40| 65 53 65 74 73 20 67 66 | 69 6c 65 53 65 74 73 54 |eSets gf|ileSetsT|
|00000d50| 79 70 65 0d 09 73 65 74 | 20 67 66 69 6c 65 53 65 |ype..set| gfileSe|
|00000d60| 74 73 28 24 6e 61 6d 65 | 29 20 5b 6c 73 6f 72 74 |ts($name|) [lsort|
|00000d70| 20 2d 63 6f 6d 6d 61 6e | 64 20 73 6f 72 74 42 79 | -comman|d sortBy|
|00000d80| 54 61 69 6c 20 24 66 69 | 6c 65 73 5d 0d 09 73 65 |Tail $fi|les]..se|
|00000d90| 74 20 67 66 69 6c 65 53 | 65 74 73 54 79 70 65 28 |t gfileS|etsType(|
|00000da0| 24 6e 61 6d 65 29 20 66 | 74 70 0d 09 69 66 20 7b |$name) f|tp..if {|
|00000db0| 5b 61 73 6b 79 65 73 6e | 6f 20 22 53 61 76 65 20 |[askyesn|o "Save |
|00000dc0| 70 72 6f 6a 65 63 74 20 | 66 69 6c 65 73 65 74 3f |project |fileset?|
|00000dd0| 22 5d 20 3d 3d 20 22 79 | 65 73 22 7d 20 7b 0d 09 |"] == "y|es"} {..|
|00000de0| 09 61 64 64 41 72 72 44 | 65 66 20 67 66 69 6c 65 |.addArrD|ef gfile|
|00000df0| 53 65 74 73 54 79 70 65 | 20 24 6e 61 6d 65 20 66 |SetsType| $name f|
|00000e00| 74 70 0d 09 09 61 64 64 | 41 72 72 44 65 66 20 67 |tp...add|ArrDef g|
|00000e10| 66 69 6c 65 53 65 74 73 | 20 24 6e 61 6d 65 20 20 |fileSets| $name |
|00000e20| 24 67 66 69 6c 65 53 65 | 74 73 28 24 6e 61 6d 65 |$gfileSe|ts($name|
|00000e30| 29 0d 09 09 61 64 64 41 | 72 72 44 65 66 20 66 69 |)...addA|rrDef fi|
|00000e40| 6c 65 53 65 74 73 45 78 | 74 72 61 20 24 6e 61 6d |leSetsEx|tra $nam|
|00000e50| 65 20 24 66 69 6c 65 53 | 65 74 73 45 78 74 72 61 |e $fileS|etsExtra|
|00000e60| 28 24 6e 61 6d 65 29 0d | 09 7d 0d 09 72 65 74 75 |($name).|.}..retu|
|00000e70| 72 6e 20 24 6e 61 6d 65 | 0d 7d 0d 0d 0d 70 72 6f |rn $name|.}...pro|
|00000e80| 63 20 67 65 74 4c 6f 67 | 69 6e 20 7b 7b 70 72 6f |c getLog|in {{pro|
|00000e90| 6d 70 74 20 7b 41 6c 6c | 20 62 75 74 20 27 70 61 |mpt {All| but 'pa|
|00000ea0| 73 73 77 6f 72 64 27 20 | 61 72 65 20 72 65 71 75 |ssword' |are requ|
|00000eb0| 69 72 65 64 3a 7d 7d 20 | 7b 6e 6d 20 31 7d 7d 20 |ired:}} |{nm 1}} |
|00000ec0| 7b 0d 09 67 6c 6f 62 61 | 6c 20 66 74 70 44 65 66 |{..globa|l ftpDef|
|00000ed0| 61 75 6c 74 73 0d 09 69 | 66 20 7b 5b 69 6e 66 6f |aults..i|f {[info|
|00000ee0| 20 65 78 69 73 74 73 20 | 66 74 70 44 65 66 61 75 | exists |ftpDefau|
|00000ef0| 6c 74 73 5d 7d 20 7b 0d | 09 09 73 65 74 20 64 65 |lts]} {.|..set de|
|00000f00| 66 73 20 24 66 74 70 44 | 65 66 61 75 6c 74 73 0d |fs $ftpD|efaults.|
|00000f10| 09 7d 20 65 6c 73 65 20 | 7b 0d 09 09 73 65 74 20 |.} else |{...set |
|00000f20| 64 65 66 73 20 7b 22 22 | 20 22 22 20 22 22 20 22 |defs {""| "" "" "|
|00000f30| 22 7d 0d 09 7d 0d 09 73 | 65 74 20 6c 65 66 74 20 |"}..}..s|et left |
|00000f40| 31 30 0d 09 73 65 74 20 | 72 69 67 68 74 20 31 30 |10..set |right 10|
|00000f50| 30 0d 09 73 65 74 20 74 | 6f 70 20 31 30 0d 09 73 |0..set t|op 10..s|
|00000f60| 65 74 20 62 6f 74 74 6f | 6d 20 33 30 0d 09 73 65 |et botto|m 30..se|
|00000f70| 74 20 65 6c 65 66 74 20 | 5b 65 78 70 72 20 24 6c |t eleft |[expr $l|
|00000f80| 65 66 74 20 2b 20 31 30 | 30 5d 0d 09 73 65 74 20 |eft + 10|0]..set |
|00000f90| 65 72 69 67 68 74 20 33 | 37 30 0d 09 73 65 74 20 |eright 3|70..set |
|00000fa0| 69 6e 63 72 20 33 30 0d | 0d 09 73 65 74 20 68 65 |incr 30.|..set he|
|00000fb0| 69 67 68 74 20 31 39 38 | 0d 09 0d 09 69 66 20 24 |ight 198|....if $|
|00000fc0| 6e 6d 20 7b 69 6e 63 72 | 20 68 65 69 67 68 74 20 |nm {incr| height |
|00000fd0| 24 69 6e 63 72 7d 0d 09 | 73 65 74 20 6c 20 22 64 |$incr}..|set l "d|
|00000fe0| 69 61 6c 6f 67 20 2d 77 | 20 34 30 30 20 2d 68 20 |ialog -w| 400 -h |
|00000ff0| 24 68 65 69 67 68 74 20 | 2d 74 20 5b 6c 69 73 74 |$height |-t [list|
|00001000| 20 24 70 72 6f 6d 70 74 | 5d 20 24 6c 65 66 74 20 | $prompt|] $left |
|00001010| 24 74 6f 70 20 34 30 30 | 20 24 62 6f 74 74 6f 6d |$top 400| $bottom|
|00001020| 22 0d 09 0d 09 69 66 20 | 7b 24 6e 6d 7d 20 7b 0d |"....if |{$nm} {.|
|00001030| 09 09 69 6e 63 72 20 74 | 6f 70 20 24 69 6e 63 72 |..incr t|op $incr|
|00001040| 0d 09 09 69 6e 63 72 20 | 62 6f 74 74 6f 6d 20 24 |...incr |bottom $|
|00001050| 69 6e 63 72 0d 09 09 6c | 61 70 70 65 6e 64 20 6c |incr...l|append l|
|00001060| 20 2d 74 20 7b 4e 61 6d | 65 3a 7d 20 24 6c 65 66 | -t {Nam|e:} $lef|
|00001070| 74 20 24 74 6f 70 20 24 | 72 69 67 68 74 20 24 62 |t $top $|right $b|
|00001080| 6f 74 74 6f 6d 0d 09 09 | 6c 61 70 70 65 6e 64 20 |ottom...|lappend |
|00001090| 6c 20 2d 65 20 7b 7d 20 | 24 65 6c 65 66 74 20 24 |l -e {} |$eleft $|
|000010a0| 74 6f 70 20 24 65 72 69 | 67 68 74 20 24 62 6f 74 |top $eri|ght $bot|
|000010b0| 74 6f 6d 0d 09 7d 0d 09 | 0d 09 69 6e 63 72 20 74 |tom..}..|..incr t|
|000010c0| 6f 70 20 24 69 6e 63 72 | 0d 09 69 6e 63 72 20 62 |op $incr|..incr b|
|000010d0| 6f 74 74 6f 6d 20 24 69 | 6e 63 72 0d 09 6c 61 70 |ottom $i|ncr..lap|
|000010e0| 70 65 6e 64 20 6c 20 2d | 74 20 7b 48 6f 73 74 3a |pend l -|t {Host:|
|000010f0| 7d 20 24 6c 65 66 74 20 | 24 74 6f 70 20 24 72 69 |} $left |$top $ri|
|00001100| 67 68 74 20 24 62 6f 74 | 74 6f 6d 0d 09 6c 61 70 |ght $bot|tom..lap|
|00001110| 70 65 6e 64 20 6c 20 2d | 65 20 5b 63 61 72 20 24 |pend l -|e [car $|
|00001120| 64 65 66 73 5d 20 24 65 | 6c 65 66 74 20 24 74 6f |defs] $e|left $to|
|00001130| 70 20 24 65 72 69 67 68 | 74 20 24 62 6f 74 74 6f |p $erigh|t $botto|
|00001140| 6d 0d 09 0d 09 69 6e 63 | 72 20 74 6f 70 20 24 69 |m....inc|r top $i|
|00001150| 6e 63 72 0d 09 69 6e 63 | 72 20 62 6f 74 74 6f 6d |ncr..inc|r bottom|
|00001160| 20 24 69 6e 63 72 0d 09 | 6c 61 70 70 65 6e 64 20 | $incr..|lappend |
|00001170| 6c 20 2d 74 20 7b 50 61 | 74 68 3a 7d 20 24 6c 65 |l -t {Pa|th:} $le|
|00001180| 66 74 20 24 74 6f 70 20 | 24 72 69 67 68 74 20 24 |ft $top |$right $|
|00001190| 62 6f 74 74 6f 6d 0d 09 | 6c 61 70 70 65 6e 64 20 |bottom..|lappend |
|000011a0| 6c 20 2d 65 20 5b 63 61 | 64 72 20 24 64 65 66 73 |l -e [ca|dr $defs|
|000011b0| 5d 20 24 65 6c 65 66 74 | 20 24 74 6f 70 20 24 65 |] $eleft| $top $e|
|000011c0| 72 69 67 68 74 20 24 62 | 6f 74 74 6f 6d 0d 09 0d |right $b|ottom...|
|000011d0| 09 69 6e 63 72 20 74 6f | 70 20 24 69 6e 63 72 0d |.incr to|p $incr.|
|000011e0| 09 69 6e 63 72 20 62 6f | 74 74 6f 6d 20 24 69 6e |.incr bo|ttom $in|
|000011f0| 63 72 0d 09 6c 61 70 70 | 65 6e 64 20 6c 20 2d 74 |cr..lapp|end l -t|
|00001200| 20 7b 55 73 65 72 49 44 | 3a 7d 20 24 6c 65 66 74 | {UserID|:} $left|
|00001210| 20 24 74 6f 70 20 24 72 | 69 67 68 74 20 24 62 6f | $top $r|ight $bo|
|00001220| 74 74 6f 6d 0d 09 6c 61 | 70 70 65 6e 64 20 6c 20 |ttom..la|ppend l |
|00001230| 2d 65 20 5b 63 61 64 64 | 72 20 24 64 65 66 73 5d |-e [cadd|r $defs]|
|00001240| 20 24 65 6c 65 66 74 20 | 24 74 6f 70 20 24 65 72 | $eleft |$top $er|
|00001250| 69 67 68 74 20 24 62 6f | 74 74 6f 6d 0d 09 0d 09 |ight $bo|ttom....|
|00001260| 69 6e 63 72 20 74 6f 70 | 20 24 69 6e 63 72 0d 09 |incr top| $incr..|
|00001270| 69 6e 63 72 20 62 6f 74 | 74 6f 6d 20 24 69 6e 63 |incr bot|tom $inc|
|00001280| 72 0d 09 6c 61 70 70 65 | 6e 64 20 6c 20 2d 74 20 |r..lappe|nd l -t |
|00001290| 7b 50 61 73 73 77 6f 72 | 64 3a 7d 20 24 6c 65 66 |{Passwor|d:} $lef|
|000012a0| 74 20 24 74 6f 70 20 24 | 72 69 67 68 74 20 24 62 |t $top $|right $b|
|000012b0| 6f 74 74 6f 6d 0d 09 6c | 61 70 70 65 6e 64 20 6c |ottom..l|append l|
|000012c0| 20 2d 65 20 5b 63 61 64 | 64 64 72 20 24 64 65 66 | -e [cad|ddr $def|
|000012d0| 73 5d 20 24 65 6c 65 66 | 74 20 24 74 6f 70 20 24 |s] $elef|t $top $|
|000012e0| 65 72 69 67 68 74 20 24 | 62 6f 74 74 6f 6d 0d 09 |eright $|bottom..|
|000012f0| 0d 09 69 6e 63 72 20 74 | 6f 70 20 5b 65 78 70 72 |..incr t|op [expr|
|00001300| 20 24 69 6e 63 72 20 2b | 20 31 30 5d 0d 09 69 6e | $incr +| 10]..in|
|00001310| 63 72 20 62 6f 74 74 6f | 6d 20 5b 65 78 70 72 20 |cr botto|m [expr |
|00001320| 24 69 6e 63 72 20 2b 20 | 31 30 5d 0d 09 6c 61 70 |$incr + |10]..lap|
|00001330| 70 65 6e 64 20 6c 20 2d | 62 20 22 4f 4b 22 20 24 |pend l -|b "OK" $|
|00001340| 6c 65 66 74 20 24 74 6f | 70 20 24 72 69 67 68 74 |left $to|p $right|
|00001350| 20 5b 65 78 70 72 20 24 | 74 6f 70 20 2b 20 32 30 | [expr $|top + 20|
|00001360| 5d 0d 09 6c 61 70 70 65 | 6e 64 20 6c 20 2d 62 20 |]..lappe|nd l -b |
|00001370| 22 43 61 6e 63 65 6c 22 | 20 5b 65 78 70 72 20 24 |"Cancel"| [expr $|
|00001380| 6c 65 66 74 20 2b 20 32 | 30 30 5d 20 24 74 6f 70 |left + 2|00] $top|
|00001390| 20 5b 65 78 70 72 20 24 | 72 69 67 68 74 20 2b 20 | [expr $|right + |
|000013a0| 32 30 30 5d 20 5b 65 78 | 70 72 20 24 74 6f 70 20 |200] [ex|pr $top |
|000013b0| 2b 20 32 30 5d 0d 09 0d | 09 73 65 74 20 72 65 73 |+ 20]...|.set res|
|000013c0| 20 5b 65 76 61 6c 20 22 | 24 6c 22 5d 0d 09 69 66 | [eval "|$l"]..if|
|000013d0| 20 7b 5b 6c 69 6e 64 65 | 78 20 24 72 65 73 20 65 | {[linde|x $res e|
|000013e0| 6e 64 5d 7d 20 7b 65 72 | 72 6f 72 20 22 43 61 6e |nd]} {er|ror "Can|
|000013f0| 63 65 6c 22 7d 0d 09 72 | 65 74 75 72 6e 20 24 72 |cel"}..r|eturn $r|
|00001400| 65 73 0d 7d 0d 0d 0d 70 | 72 6f 63 20 61 64 64 4d |es.}...p|roc addM|
|00001410| 6f 75 6e 74 50 6f 69 6e | 74 20 7b 7d 20 7b 0d 09 |ountPoin|t {} {..|
|00001420| 67 6c 6f 62 61 6c 20 73 | 61 76 65 64 4d 6f 75 6e |global s|avedMoun|
|00001430| 74 73 20 6d 6f 64 69 66 | 69 65 64 41 72 72 56 61 |ts modif|iedArrVa|
|00001440| 72 73 0d 09 0d 09 73 65 | 74 20 72 65 73 20 5b 67 |rs....se|t res [g|
|00001450| 65 74 4c 6f 67 69 6e 5d | 0d 09 69 66 20 7b 5b 6c |etLogin]|..if {[l|
|00001460| 69 6e 64 65 78 20 24 72 | 65 73 20 35 5d 7d 20 7b |index $r|es 5]} {|
|00001470| 0d 09 09 73 65 74 20 73 | 61 76 65 64 4d 6f 75 6e |...set s|avedMoun|
|00001480| 74 73 28 5b 63 61 72 20 | 24 72 65 73 5d 29 20 5b |ts([car |$res]) [|
|00001490| 6c 72 61 6e 67 65 20 24 | 72 65 73 20 31 20 34 5d |lrange $|res 1 4]|
|000014a0| 0d 09 09 6c 61 70 70 65 | 6e 64 20 6d 6f 64 69 66 |...lappe|nd modif|
|000014b0| 69 65 64 41 72 72 56 61 | 72 73 20 73 61 76 65 64 |iedArrVa|rs saved|
|000014c0| 4d 6f 75 6e 74 73 0d 09 | 09 72 65 62 75 69 6c 64 |Mounts..|.rebuild|
|000014d0| 46 74 70 4d 65 6e 75 0d | 09 7d 0d 7d 0d 0d 0d 70 |FtpMenu.|.}.}...p|
|000014e0| 72 6f 63 20 66 74 70 46 | 65 74 63 68 20 7b 6c 6f |roc ftpF|etch {lo|
|000014f0| 63 61 6c 4e 61 6d 65 20 | 68 6f 73 74 20 70 61 74 |calName |host pat|
|00001500| 68 20 75 73 65 72 20 70 | 61 73 73 77 6f 72 64 7d |h user p|assword}|
|00001510| 20 7b 0d 09 67 6c 6f 62 | 61 6c 20 66 74 70 53 69 | {..glob|al ftpSi|
|00001520| 67 0d 09 77 61 74 63 68 | 43 75 72 73 6f 72 0d 09 |g..watch|Cursor..|
|00001530| 6c 61 75 6e 63 68 42 61 | 63 6b 41 70 70 6c 53 69 |launchBa|ckApplSi|
|00001540| 67 73 20 5b 6c 69 73 74 | 20 41 72 63 68 5d 20 66 |gs [list| Arch] f|
|00001550| 74 70 53 69 67 0d 09 73 | 65 74 20 66 64 20 5b 6f |tpSig..s|et fd [o|
|00001560| 70 65 6e 20 24 6c 6f 63 | 61 6c 4e 61 6d 65 20 22 |pen $loc|alName "|
|00001570| 77 22 5d 0d 09 63 6c 6f | 73 65 20 24 66 64 0d 09 |w"]..clo|se $fd..|
|00001580| 41 45 42 75 69 6c 64 20 | 2d 72 20 2d 74 20 33 30 |AEBuild |-r -t 30|
|00001590| 30 30 30 20 27 41 72 63 | 68 27 20 41 72 63 68 20 |000 'Arc|h' Arch |
|000015a0| 46 74 63 68 20 46 54 50 | 68 20 22 d2 24 68 6f 73 |Ftch FTP|h ".$hos|
|000015b0| 74 d3 22 20 46 54 50 63 | 20 22 d2 24 70 61 74 68 |t." FTPc| ".$path|
|000015c0| d3 22 20 41 72 47 55 20 | 22 d2 24 75 73 65 72 d3 |." ArGU |".$user.|
|000015d0| 22 20 41 72 47 70 20 22 | d2 24 70 61 73 73 77 6f |" ArGp "|.$passwo|
|000015e0| 72 64 d3 22 20 2d 2d 2d | 2d 20 5b 6d 61 6b 65 41 |rd." ---|- [makeA|
|000015f0| 6c 69 73 20 24 6c 6f 63 | 61 6c 4e 61 6d 65 5d 0d |lis $loc|alName].|
|00001600| 7d 0d 0d 70 72 6f 63 20 | 66 74 70 53 74 6f 72 65 |}..proc |ftpStore|
|00001610| 20 7b 6c 6f 63 61 6c 4e | 61 6d 65 20 68 6f 73 74 | {localN|ame host|
|00001620| 20 70 61 74 68 20 75 73 | 65 72 20 70 61 73 73 77 | path us|er passw|
|00001630| 6f 72 64 7d 20 7b 0d 09 | 77 61 74 63 68 43 75 72 |ord} {..|watchCur|
|00001640| 73 6f 72 0d 09 41 45 42 | 75 69 6c 64 20 2d 71 20 |sor..AEB|uild -q |
|00001650| 2d 74 20 33 30 30 30 30 | 20 27 41 72 63 68 27 20 |-t 30000| 'Arch' |
|00001660| 41 72 63 68 20 53 74 6f | 72 20 2d 2d 2d 2d 20 5b |Arch Sto|r ---- [|
|00001670| 6d 61 6b 65 41 6c 69 73 | 20 24 6c 6f 63 61 6c 4e |makeAlis| $localN|
|00001680| 61 6d 65 5d 20 46 54 50 | 68 20 22 d2 24 68 6f 73 |ame] FTP|h ".$hos|
|00001690| 74 d3 22 20 46 54 50 63 | 20 22 d2 24 70 61 74 68 |t." FTPc| ".$path|
|000016a0| d3 22 20 41 72 47 55 20 | 22 d2 24 75 73 65 72 d3 |." ArGU |".$user.|
|000016b0| 22 20 41 72 47 70 20 22 | d2 24 70 61 73 73 77 6f |" ArGp "|.$passwo|
|000016c0| 72 64 d3 22 0d 7d 0d 0d | 70 72 6f 63 20 68 61 6e |rd.".}..|proc han|
|000016d0| 64 6c 65 52 65 70 6c 79 | 20 7b 72 65 70 7d 20 7b |dleReply| {rep} {|
|000016e0| 0d 09 67 6c 6f 62 61 6c | 20 41 4c 50 48 41 20 6c |..global| ALPHA l|
|000016f0| 61 73 74 52 65 70 6c 79 | 0d 09 6d 65 73 73 61 67 |astReply|..messag|
|00001700| 65 20 22 52 65 6d 6f 74 | 65 20 73 61 76 65 20 66 |e "Remot|e save f|
|00001710| 69 6e 69 73 68 65 64 2e | 22 0d 09 73 65 74 20 6c |inished.|"..set l|
|00001720| 61 73 74 52 65 70 6c 79 | 20 24 72 65 70 0d 7d 0d |astReply| $rep.}.|
|00001730| 0d 23 20 27 6c 6f 63 61 | 6c 4e 61 6d 65 27 20 6d |.# 'loca|lName' m|
|00001740| 75 73 74 20 62 65 20 61 | 20 70 72 65 65 78 69 73 |ust be a| preexis|
|00001750| 74 69 6e 67 20 66 69 6c | 65 2c 20 74 68 69 73 20 |ting fil|e, this |
|00001760| 69 73 20 61 20 6d 61 6b | 65 41 6c 69 73 20 6c 69 |is a mak|eAlis li|
|00001770| 6d 69 74 61 74 69 6f 6e | 0d 70 72 6f 63 20 66 74 |mitation|.proc ft|
|00001780| 70 4c 69 73 74 20 7b 6c | 6f 63 61 6c 4e 61 6d 65 |pList {l|ocalName|
|00001790| 20 68 6f 73 74 20 70 61 | 74 68 20 75 73 65 72 20 | host pa|th user |
|000017a0| 70 61 73 73 77 6f 72 64 | 7d 20 7b 0d 09 67 6c 6f |password|} {..glo|
|000017b0| 62 61 6c 20 66 74 70 53 | 69 67 0d 09 77 61 74 63 |bal ftpS|ig..watc|
|000017c0| 68 43 75 72 73 6f 72 0d | 09 6c 61 75 6e 63 68 42 |hCursor.|.launchB|
|000017d0| 61 63 6b 41 70 70 6c 53 | 69 67 73 20 5b 6c 69 73 |ackApplS|igs [lis|
|000017e0| 74 20 41 72 63 68 5d 20 | 66 74 70 53 69 67 0d 09 |t Arch] |ftpSig..|
|000017f0| 73 65 74 20 66 64 20 5b | 6f 70 65 6e 20 24 6c 6f |set fd [|open $lo|
|00001800| 63 61 6c 4e 61 6d 65 20 | 22 77 22 5d 0d 09 63 6c |calName |"w"]..cl|
|00001810| 6f 73 65 20 24 66 64 0d | 09 41 45 42 75 69 6c 64 |ose $fd.|.AEBuild|
|00001820| 20 2d 72 20 2d 74 20 33 | 30 30 30 30 20 27 24 66 | -r -t 3|0000 '$f|
|00001830| 74 70 53 69 67 27 20 41 | 72 63 68 20 4c 69 73 74 |tpSig' A|rch List|
|00001840| 20 46 54 50 68 20 22 d2 | 24 68 6f 73 74 d3 22 20 | FTPh ".|$host." |
|00001850| 46 54 50 63 20 22 d2 24 | 70 61 74 68 d3 22 20 41 |FTPc ".$|path." A|
|00001860| 72 47 55 20 22 d2 24 75 | 73 65 72 d3 22 20 41 72 |rGU ".$u|ser." Ar|
|00001870| 47 70 20 22 d2 24 70 61 | 73 73 77 6f 72 64 d3 22 |Gp ".$pa|ssword."|
|00001880| 20 7b 2d 2d 2d 2d 7d 20 | 5b 6d 61 6b 65 41 6c 69 | {----} |[makeAli|
|00001890| 73 20 24 6c 6f 63 61 6c | 4e 61 6d 65 5d 0d 7d 0d |s $local|Name].}.|
|000018a0| 0d 0d 70 72 6f 63 20 70 | 72 6f 63 65 73 73 4c 69 |..proc p|rocessLi|
|000018b0| 73 74 69 6e 67 20 7b 70 | 61 74 68 7d 20 7b 0d 09 |sting {p|ath} {..|
|000018c0| 73 65 74 20 66 64 20 5b | 6f 70 65 6e 20 24 70 61 |set fd [|open $pa|
|000018d0| 74 68 20 22 72 22 5d 0d | 09 73 65 74 20 6c 69 6e |th "r"].|.set lin|
|000018e0| 65 73 20 5b 73 70 6c 69 | 74 20 5b 72 65 61 64 20 |es [spli|t [read |
|000018f0| 24 66 64 5d 20 22 5c 6e | 22 5d 0d 09 63 6c 6f 73 |$fd] "\n|"]..clos|
|00001900| 65 20 24 66 64 0d 09 73 | 65 74 20 66 69 6c 65 73 |e $fd..s|et files|
|00001910| 20 7b 7d 0d 09 66 6f 72 | 65 61 63 68 20 66 20 5b | {}..for|each f [|
|00001920| 63 64 72 20 5b 6c 72 65 | 70 6c 61 63 65 20 24 6c |cdr [lre|place $l|
|00001930| 69 6e 65 73 20 65 6e 64 | 20 65 6e 64 5d 5d 20 7b |ines end| end]] {|
|00001940| 0d 09 09 73 65 74 20 6e | 6d 20 5b 6c 69 6e 64 65 |...set n|m [linde|
|00001950| 78 20 24 66 20 65 6e 64 | 5d 0d 09 09 69 66 20 7b |x $f end|]...if {|
|00001960| 5b 73 74 72 69 6e 67 20 | 6c 65 6e 67 74 68 20 24 |[string |length $|
|00001970| 6e 6d 5d 7d 20 7b 0d 09 | 09 09 69 66 20 7b 5b 73 |nm]} {..|..if {[s|
|00001980| 74 72 69 6e 67 20 6d 61 | 74 63 68 20 22 64 2a 22 |tring ma|tch "d*"|
|00001990| 20 24 66 5d 7d 20 7b 0d | 09 09 09 09 6c 61 70 70 | $f]} {.|....lapp|
|000019a0| 65 6e 64 20 66 69 6c 65 | 73 20 22 24 6e 6d 2f 22 |end file|s "$nm/"|
|000019b0| 0d 09 09 09 7d 20 65 6c | 73 65 20 7b 0d 09 09 09 |....} el|se {....|
|000019c0| 09 6c 61 70 70 65 6e 64 | 20 66 69 6c 65 73 20 24 |.lappend| files $|
|000019d0| 6e 6d 0d 09 09 09 7d 0d | 09 09 7d 0d 09 7d 0d 09 |nm....}.|..}..}..|
|000019e0| 72 65 74 75 72 6e 20 24 | 66 69 6c 65 73 0d 7d 0d |return $|files.}.|
|000019f0| 0d 0d 70 72 6f 63 20 66 | 74 70 42 72 6f 77 73 65 |..proc f|tpBrowse|
|00001a00| 20 7b 68 6f 73 74 20 64 | 69 72 20 75 73 65 72 20 | {host d|ir user |
|00001a10| 70 61 73 73 77 6f 72 64 | 7d 20 7b 0d 09 67 6c 6f |password|} {..glo|
|00001a20| 62 61 6c 20 50 52 45 46 | 53 20 66 65 74 63 68 65 |bal PREF|S fetche|
|00001a30| 64 20 6c 61 73 74 46 74 | 70 44 69 72 0d 0d 09 77 |d lastFt|pDir...w|
|00001a40| 61 74 63 68 43 75 72 73 | 6f 72 0d 09 69 66 20 7b |atchCurs|or..if {|
|00001a50| 21 5b 73 74 72 69 6e 67 | 20 6c 65 6e 67 74 68 20 |![string| length |
|00001a60| 24 70 61 73 73 77 6f 72 | 64 5d 7d 20 7b 0d 09 09 |$passwor|d]} {...|
|00001a70| 73 65 74 20 70 61 73 73 | 77 6f 72 64 20 5b 70 72 |set pass|word [pr|
|00001a80| 6f 6d 70 74 20 22 50 61 | 73 73 77 6f 72 64 3a 22 |ompt "Pa|ssword:"|
|00001a90| 20 22 22 5d 0d 09 7d 0d | 0d 09 69 66 20 7b 21 5b | ""]..}.|..if {![|
|00001aa0| 66 69 6c 65 20 65 78 69 | 73 74 73 20 22 24 50 52 |file exi|sts "$PR|
|00001ab0| 45 46 53 3a 66 74 70 74 | 6d 70 22 5d 7d 20 7b 0d |EFS:ftpt|mp"]} {.|
|00001ac0| 09 09 6d 6b 64 69 72 20 | 22 24 50 52 45 46 53 3a |..mkdir |"$PREFS:|
|00001ad0| 66 74 70 74 6d 70 22 0d | 09 7d 0d 09 69 66 20 7b |ftptmp".|.}..if {|
|00001ae0| 24 64 69 72 20 3d 3d 20 | 7b 2d 7d 7d 20 7b 0d 09 |$dir == |{-}} {..|
|00001af0| 09 69 66 20 7b 21 5b 69 | 6e 66 6f 20 65 78 69 73 |.if {![i|nfo exis|
|00001b00| 74 73 20 6c 61 73 74 46 | 74 70 44 69 72 5d 20 7c |ts lastF|tpDir] ||
|00001b10| 7c 20 21 5b 73 74 72 69 | 6e 67 20 6c 65 6e 67 74 || ![stri|ng lengt|
|00001b20| 68 20 24 6c 61 73 74 46 | 74 70 44 69 72 5d 7d 20 |h $lastF|tpDir]} |
|00001b30| 7b 73 65 74 20 6c 61 73 | 74 46 74 70 44 69 72 20 |{set las|tFtpDir |
|00001b40| 22 22 7d 0d 09 09 73 65 | 74 20 64 69 72 20 5b 70 |""}...se|t dir [p|
|00001b50| 72 6f 6d 70 74 20 22 27 | 24 68 6f 73 74 27 20 64 |rompt "'|$host' d|
|00001b60| 69 72 3a 22 20 24 6c 61 | 73 74 46 74 70 44 69 72 |ir:" $la|stFtpDir|
|00001b70| 5d 0d 09 7d 0d 09 73 65 | 74 20 64 69 72 20 5b 73 |]..}..se|t dir [s|
|00001b80| 74 72 69 6e 67 20 74 72 | 69 6d 72 69 67 68 74 20 |tring tr|imright |
|00001b90| 24 64 69 72 20 7b 2f 7d | 5d 0d 09 73 65 74 20 6c |$dir {/}|]..set l|
|00001ba0| 61 73 74 46 74 70 44 69 | 72 20 24 64 69 72 0d 0d |astFtpDi|r $dir..|
|00001bb0| 09 73 65 74 20 6e 75 6d | 20 30 0d 09 66 6f 72 20 |.set num| 0..for |
|00001bc0| 7b 73 65 74 20 69 20 5b | 65 78 70 72 20 5b 73 74 |{set i [|expr [st|
|00001bd0| 72 69 6e 67 20 6c 65 6e | 67 74 68 20 24 64 69 72 |ring len|gth $dir|
|00001be0| 5d 20 2d 20 31 5d 7d 20 | 7b 24 69 20 3e 3d 20 30 |] - 1]} |{$i >= 0|
|00001bf0| 7d 20 7b 69 6e 63 72 20 | 69 20 2d 31 7d 20 7b 0d |} {incr |i -1} {.|
|00001c00| 09 09 73 63 61 6e 20 24 | 64 69 72 20 22 25 63 22 |..scan $|dir "%c"|
|00001c10| 20 63 68 61 72 0d 09 09 | 69 6e 63 72 20 6e 75 6d | char...|incr num|
|00001c20| 20 24 63 68 61 72 0d 09 | 7d 0d 09 0d 09 73 65 74 | $char..|}....set|
|00001c30| 20 6e 6d 20 22 24 50 52 | 45 46 53 3a 66 74 70 74 | nm "$PR|EFS:ftpt|
|00001c40| 6d 70 3a 6c 69 73 74 69 | 6e 67 2e 24 6e 75 6d 22 |mp:listi|ng.$num"|
|00001c50| 0d 09 0d 09 69 66 20 7b | 21 5b 66 69 6c 65 20 65 |....if {|![file e|
|00001c60| 78 69 73 74 73 20 24 6e | 6d 5d 7d 20 7b 0d 09 09 |xists $n|m]} {...|
|00001c70| 66 74 70 4c 69 73 74 20 | 24 6e 6d 20 24 68 6f 73 |ftpList |$nm $hos|
|00001c80| 74 20 24 64 69 72 20 24 | 75 73 65 72 20 24 70 61 |t $dir $|user $pa|
|00001c90| 73 73 77 6f 72 64 0d 09 | 7d 0d 09 73 65 74 20 66 |ssword..|}..set f|
|00001ca0| 69 6c 65 73 20 5b 63 6f | 6e 63 61 74 20 7b 2e 2e |iles [co|ncat {..|
|00001cb0| 7d 20 5b 70 72 6f 63 65 | 73 73 4c 69 73 74 69 6e |} [proce|ssListin|
|00001cc0| 67 20 24 6e 6d 5d 5d 0d | 09 73 65 74 20 66 69 6c |g $nm]].|.set fil|
|00001cd0| 65 20 5b 6c 69 73 74 70 | 69 63 6b 20 2d 70 20 22 |e [listp|ick -p "|
|00001ce0| 24 64 69 72 2f 22 20 24 | 66 69 6c 65 73 5d 0d 09 |$dir/" $|files]..|
|00001cf0| 69 66 20 7b 24 66 69 6c | 65 20 3d 3d 20 7b 2e 2e |if {$fil|e == {..|
|00001d00| 7d 7d 20 7b 0d 09 09 69 | 66 20 7b 5b 72 65 67 65 |}} {...i|f {[rege|
|00001d10| 78 70 20 7b 28 28 2f 7c | 5c 77 29 2b 29 2f 5c 77 |xp {((/||\w)+)/\w|
|00001d20| 2b 7d 20 24 64 69 72 20 | 64 75 6d 6d 79 20 73 75 |+} $dir |dummy su|
|00001d30| 62 5d 7d 20 7b 0d 09 09 | 09 72 65 74 75 72 6e 20 |b]} {...|.return |
|00001d40| 5b 66 74 70 42 72 6f 77 | 73 65 20 24 68 6f 73 74 |[ftpBrow|se $host|
|00001d50| 20 24 73 75 62 20 24 75 | 73 65 72 20 24 70 61 73 | $sub $u|ser $pas|
|00001d60| 73 77 6f 72 64 5d 0d 09 | 09 7d 20 65 6c 73 65 20 |sword]..|.} else |
|00001d70| 7b 0d 09 09 09 72 65 74 | 75 72 6e 20 5b 66 74 70 |{....ret|urn [ftp|
|00001d80| 42 72 6f 77 73 65 20 24 | 68 6f 73 74 20 22 22 20 |Browse $|host "" |
|00001d90| 24 75 73 65 72 20 24 70 | 61 73 73 77 6f 72 64 5d |$user $p|assword]|
|00001da0| 0d 09 09 7d 0d 09 7d 0d | 09 69 66 20 7b 5b 73 74 |...}..}.|.if {[st|
|00001db0| 72 69 6e 67 20 6d 61 74 | 63 68 20 7b 2a 2f 7d 20 |ring mat|ch {*/} |
|00001dc0| 24 66 69 6c 65 5d 7d 20 | 7b 0d 09 09 69 66 20 7b |$file]} |{...if {|
|00001dd0| 5b 73 74 72 69 6e 67 20 | 6c 65 6e 67 74 68 20 24 |[string |length $|
|00001de0| 64 69 72 5d 7d 20 7b 0d | 09 09 09 72 65 74 75 72 |dir]} {.|...retur|
|00001df0| 6e 20 5b 66 74 70 42 72 | 6f 77 73 65 20 24 68 6f |n [ftpBr|owse $ho|
|00001e00| 73 74 20 5b 73 74 72 69 | 6e 67 20 74 72 69 6d 72 |st [stri|ng trimr|
|00001e10| 69 67 68 74 20 22 24 64 | 69 72 2f 24 66 69 6c 65 |ight "$d|ir/$file|
|00001e20| 22 20 7b 2f 7d 5d 20 24 | 75 73 65 72 20 24 70 61 |" {/}] $|user $pa|
|00001e30| 73 73 77 6f 72 64 5d 0d | 09 09 7d 20 65 6c 73 65 |ssword].|..} else|
|00001e40| 20 7b 0d 09 09 09 72 65 | 74 75 72 6e 20 5b 66 74 | {....re|turn [ft|
|00001e50| 70 42 72 6f 77 73 65 20 | 24 68 6f 73 74 20 5b 73 |pBrowse |$host [s|
|00001e60| 74 72 69 6e 67 20 74 72 | 69 6d 72 69 67 68 74 20 |tring tr|imright |
|00001e70| 22 24 66 69 6c 65 22 20 | 7b 2f 7d 5d 20 24 75 73 |"$file" |{/}] $us|
|00001e80| 65 72 20 24 70 61 73 73 | 77 6f 72 64 5d 0d 09 09 |er $pass|word]...|
|00001e90| 7d 0d 09 7d 0d 0d 09 73 | 65 74 20 6e 6d 20 22 24 |}..}...s|et nm "$|
|00001ea0| 50 52 45 46 53 3a 66 74 | 70 74 6d 70 3a 24 66 69 |PREFS:ft|ptmp:$fi|
|00001eb0| 6c 65 22 0d 09 69 66 20 | 7b 21 5b 66 69 6c 65 20 |le"..if |{![file |
|00001ec0| 65 78 69 73 74 73 20 24 | 6e 6d 5d 7d 20 7b 0d 09 |exists $|nm]} {..|
|00001ed0| 09 69 66 20 7b 5b 73 74 | 72 69 6e 67 20 6c 65 6e |.if {[st|ring len|
|00001ee0| 67 74 68 20 24 64 69 72 | 5d 7d 20 7b 0d 09 09 09 |gth $dir|]} {....|
|00001ef0| 66 74 70 46 65 74 63 68 | 20 24 6e 6d 20 24 68 6f |ftpFetch| $nm $ho|
|00001f00| 73 74 20 22 24 64 69 72 | 2f 24 66 69 6c 65 22 20 |st "$dir|/$file" |
|00001f10| 24 75 73 65 72 20 24 70 | 61 73 73 77 6f 72 64 0d |$user $p|assword.|
|00001f20| 09 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 09 66 74 |..} else| {....ft|
|00001f30| 70 46 65 74 63 68 20 24 | 6e 6d 20 24 68 6f 73 74 |pFetch $|nm $host|
|00001f40| 20 22 24 66 69 6c 65 22 | 20 24 75 73 65 72 20 24 | "$file"| $user $|
|00001f50| 70 61 73 73 77 6f 72 64 | 0d 09 09 7d 0d 09 7d 0d |password|...}..}.|
|00001f60| 09 65 64 69 74 20 24 6e | 6d 0d 09 73 65 74 20 66 |.edit $n|m..set f|
|00001f70| 65 74 63 68 65 64 28 24 | 6e 6d 29 20 5b 6c 69 73 |etched($|nm) [lis|
|00001f80| 74 20 24 68 6f 73 74 20 | 24 64 69 72 20 24 75 73 |t $host |$dir $us|
|00001f90| 65 72 20 24 70 61 73 73 | 77 6f 72 64 5d 0d 7d 0d |er $pass|word].}.|
|00001fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002000| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002010| 20 5b 63 61 72 20 24 73 | 70 65 63 73 5d 20 22 5b | [car $s|pecs] "[|
|00002020| 66 69 6c 65 20 74 61 69 | 6c 20 24 6e 61 6d 65 5d |file tai|l $name]|
|00002030| 0b 66 74 70 4d 65 6e 75 | 2e 74 63 6c 02 00 00 00 |.ftpMenu|.tcl....|
|00002040| 54 45 58 54 41 4c 46 41 | 00 00 b1 e0 b1 e0 00 00 |TEXTALFA|........|
|00002050| 00 00 54 45 58 54 41 4c | 46 41 00 00 b1 e0 b1 e0 |..TEXTAL|FA......|
|00002060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002070| 00 00 ae 16 cf cf 00 00 | 1f 20 00 00 01 7e 65 6e |........|. ...~en|
|00002080| 75 20 7b 7d 20 7b 0d 09 | 67 6c 6f 62 61 6c 20 73 |u {} {..|global s|
|00002090| 61 76 65 64 4d 6f 75 6e | 74 73 20 66 74 70 4d 65 |avedMoun|ts ftpMe|
|000020a0| 6e 75 0d 09 0d 09 6d 65 | 6e 75 20 2d 6e 20 24 66 |nu....me|nu -n $f|
|000020b0| 74 70 4d 65 6e 75 20 2d | 70 20 66 74 70 4d 65 6e |tpMenu -|p ftpMen|
|000020c0| 75 50 72 6f 63 20 7b 0d | 09 09 68 65 6c 70 0d 09 |uProc {.|..help..|
|000020d0| 09 70 61 6c 65 74 74 65 | 0d 09 09 22 28 2d 22 0d |.palette|..."(-".|
|000020e0| 09 09 22 3c 53 2f 69 62 | 72 6f 77 73 65 c9 22 0d |.."<S/ib|rowse.".|
|000020f0| 09 09 22 3c 53 2f 69 3c | 49 62 72 6f 77 73 65 43 |.."<S/i<|IbrowseC|
|00002100| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 b4 e5 e0 |...H..Mo|naco....|
|00002110| 00 00 17 24 01 ae 73 94 | 01 d5 7a b0 24 00 04 22 |...$..s.|..z.$.."|
|00002120| 02 0f eb 58 00 01 00 04 | 00 04 00 28 00 02 02 5b |...X....|...(...[|
|00002130| 02 00 00 28 00 02 02 5b | 02 00 ae 3c c5 12 00 00 |...(...[|...<....|
|00002140| 14 af 00 00 14 af 00 00 | 14 a2 01 00 00 00 01 00 |........|........|
|00002150| 00 00 01 4c 00 00 00 4c | 00 00 00 32 01 ac da c8 |...L...L|...2....|
|00002160| 17 24 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.$.....2|..MPSR..|
|00002170| 00 0a 03 ed ff ff 00 00 | 00 00 01 b4 e7 24 00 00 |........|.....$..|
+--------+-------------------------+-------------------------+--------+--------+